home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
blankery
/
bserverdir
/
sources
/
server
/
askfiles.c
next >
Wrap
C/C++ Source or Header
|
1994-11-26
|
1KB
|
65 lines
#include <utility/tagitem.h>
#include <string.h>
#include <clib/asl_protos.h>
#include <clib/dos_protos.h>
char drawername[77];
char filename[33];
struct TagItem sourcetags[] = {
{ ASLFR_TitleText, (ULONG)&"Select clients" },
{ ASLFR_InitialDrawer, (ULONG)drawername },
{ ASLFR_InitialFile, (ULONG)filename },
{ ASLFR_Flags1, FRF_DOMULTISELECT },
{ ASLFR_InitialHeight, 210L },
{ ASLFR_RejectIcons, TRUE },
{ TAG_END, NULL } };
extern void AddClient( char * );
extern void DetachGadgets( void );
extern void AttachGadgets( void );
void AskFiles( void )
{
struct FileRequester *request;
UWORD x;
struct WBArg *asl_args;
if ( request = (struct FileRequester *)AllocAslRequest( ASL_FileRequest, sourcetags ) )
{
strcpy( filename, FilePart(filename) );
if ( AslRequest( request, sourcetags ) )
{
DetachGadgets();
strcpy( filename, request->fr_Drawer );
if ( filename[0] )
{
strcpy( drawername, filename );
if ( filename[ strlen(filename)-1 ] != ':' && filename[ strlen(filename)-1 ] != '/' )
strcat( filename, "/" );
}
if ( request->fr_NumArgs )
{
asl_args = request->fr_ArgList;
for ( x = 0; x < request->fr_NumArgs; x++ )
{
*(FilePart(filename)) = 0;
strcat( FilePart(filename), asl_args[x].wa_Name );
AddClient( filename );
}
}
else
{
strcat( FilePart(filename), FilePart(request->fr_File) );
AddClient( filename );
}
AttachGadgets();
}
FreeAslRequest( request );
}
}